package com.ttai.presenter.api;

import com.ttai.model.net.ArrayInfo;
import com.ttai.model.net.ResponseInfo;
import com.ttai.untils.Constant;

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface ResponseInfoApi {

    @POST(Constant.GET_ACOUNT_USER)
    @FormUrlEncoded
    Call<ResponseInfo> getAcountUser(@Field("token") String token, @Field("accountName") String accountName);

    @GET(Constant.APP_NAME)
//    @FormUrlEncoded
    Call<ArrayInfo> appName();

    @POST(Constant.TOKEN_LOGIN)
    @FormUrlEncoded
    Call<ResponseInfo> tokenLogin(@Field("token")String token);

    @POST(Constant.VERIFT_CODE)
    @FormUrlEncoded
    Call<ResponseInfo> verifyCode(@Field("phone")String phone, @Field("way") String way);

    @POST(Constant.LOGIN)
    @FormUrlEncoded
    Call<ResponseInfo> login(@Field("phone") String phone,@Field("scode") String scode,@Field("cid") String cid);

    @POST(Constant.REGISTER)
    @FormUrlEncoded
    Call<ResponseInfo> register(@Field("scode") String scode,@Field("phone") String phone,@Field("email") String email,@Field("cid") String cid);

    @POST(Constant.LOGOUT)
    @FormUrlEncoded
    Call<ResponseInfo> logout(@Field("token") String token);

    @POST(Constant.ACOUNT_DELETE)
    @FormUrlEncoded
    Call<ResponseInfo> acountdelete(@Field("token") String token,@Field("accountName") String accountName);

    @POST(Constant.ACOUNT_ADD)
    @FormUrlEncoded
    Call<ResponseInfo> acountadd(@Field("token") String token,@Field("accountName") String accountName,@Field("account") String account,@Field("password") String password);

    @POST(Constant.SET_KEY)
    @FormUrlEncoded
    Call<ResponseInfo> setkey(@Field("token") String token,@Field("key") String key);

    @POST(Constant.SET_KEY_TIP)
    @FormUrlEncoded
    Call<ResponseInfo> setkeytip(@Field("token") String token,@Field("keyTip") String keyTip);

    @POST(Constant.ID_DELETE)
    @FormUrlEncoded
    Call<ResponseInfo> iddelete(@Field("token") String token,@Field("appId") String appId,@Field("account") String account);

    @POST(Constant.ADD_APP)
    @FormUrlEncoded
    Call<ResponseInfo> addapp(@Field("appId") String appId,@Field("token")String token,@Field("account") String account,@Field("password") String passWord);

    @POST(Constant.OTP)
    @FormUrlEncoded
    Call<ResponseInfo> crateOTP(@Field("token")String token,@Field("cid")String cid,@Field("accountFlag")String accountFlag,@Field("appId") String appId);

    @POST(Constant.STORE_NEWACOUNT)
    @FormUrlEncoded
    Call<ResponseInfo> restoreNewAcount(@Field("token") String token);

    @POST(Constant.STORE_TIPACOUNT)
    @FormUrlEncoded
    Call<ResponseInfo> restoreTipAcount(@Field("token") String token);

    @POST(Constant.STORE_IDACOUNT)
    @FormUrlEncoded
    Call<ResponseInfo> restoreIdAcount(@Field("token") String token);

    @POST(Constant.IP_ERROR)
    @FormUrlEncoded
    Call<ResponseInfo> iperror(@Field("token") String token,@Field("loginIp") String loginIp,@Field("pass") String pass,@Field("appId") String appId,@Field("userFlag") String userFlag);

    @POST(Constant.VERIFY_KEY)
    @FormUrlEncoded
    Call<ResponseInfo> verifykey(@Field("token") String token,@Field("key") String key);

    @POST(Constant.VERIFY_LOGIN)
    @FormUrlEncoded
    Call<ResponseInfo> verifyLogin(@Field("flag") String flag,@Field("data") String data,@Field("phone") String token,@Field("cid") String cid);

    @POST(Constant.VERIFT_MIYAO)
    @FormUrlEncoded
    Call<ResponseInfo> verifyMiyao(@Field("cid") String cid,@Field("key") String key,@Field("phone") String token);

    @POST(Constant.TAI_REGISTER)
    @FormUrlEncoded
    Call<ResponseInfo> taiRegiser(@Field("token") String token,@Field("appId") String appId);

    @POST(Constant.GET_ACCOUNT)
    @FormUrlEncoded
    Call<ArrayInfo> taiaccount(@Field("token") String token);

    @POST(Constant.NEW_MIYAO)
    @FormUrlEncoded
    Call<ResponseInfo> newEncrypt(@Field("token") String token,@Field("oldKey") String oldKey,@Field("newKey") String newKey,@Field("accountList") String accountList,@Field("keyTip") String keyTip);
}
